
#ifndef _CELL_H_
#define _CELL_H_

/**
 * Représente un élément de liste chainée
 */
struct s_Cell {
    void* value;
    struct s_Cell* next;
} typedef Cell;

/*
  TODO
  cell_getPrevious
*/

/**
 * Obtient l'adresse cellule suivant la cellule passée en argument
 */
Cell* cell_getNext(const Cell* cell);

/**
 * Obtient la valeur de la cellule passée en argument
 */
void* cell_getValue(const Cell* cell);

/**
 * Cree et initialise une nouvelle cellule en mémoire
 */
void cell_create(Cell** cell);

/**
 * Initialise une nouvelle cellule
 */
void cell_initialize(Cell* cell);

/**
 * Désaloue la cellule passée en argument
 */
void cell_destroy(Cell** cell);


#endif

